import Ioredis from 'ioredis'

const ioredis = new Ioredis({  // 建立连接
    host: '127.0.0.1',           // 'localhost'
    port: 6379
})

const redisio = new Ioredis({  // 建立连接
    host: '127.0.0.1',           // 'localhost'
    port: 6379
})

// 发布订阅
ioredis.subscribe('test')  // 订阅 test频道
ioredis.on('message', (channel, message) => {
    console.log(channel, message, 'ioredis');
})

redisio.publish('test', 'redisio')

// 改成对象式的操作

// String 字符串
// ioredis.set('key', 'value')
// ioredis.get('key').then(val => console.log(val))
// ioredis.setex('name', 3, 'value')  // 加上设置过期时间，第二个参数就是设置过期时间，单位秒

// set集合
// ioredis.sadd('set', 'mm', 'bb', 'dd', 'bb', 'mm')     // 存
// ioredis.smembers('set').then(res => console.log(res)) // 读
// ioredis.srem('set', 1)          // 删
// ioredis.sismember('set', 1).then(res => console.log(res))   // 检测是否存在

// HASH
// ioredis.hset('hash', 'key', 'value')  // 存
// ioredis.hdel('hash', 'key')          // 删
// ioredis.hget('hash', 'key').then((res) => console.log(res))  // 取
// ioredis.hgetall('hash').then(res => console.log(res))

// 列表
// ioredis.lpush('list', 1,2,3)  // 存
// ioredis.rpush('list', 'x', 'y', 'z')  // 存
// ioredis.llen('list').then(res => console.log(res))
// ioredis.lrange('list', 0, -1).then(res => console.log(res))  // 取